package main

import "fmt"

func main() {
	//数组: 有序的元素集合
	//数组名 = [长度]类型{元素1, 元素2, ...}
	//数组的长度必须是常量表达式，因为数组的长度是在编译阶段确定的
	//数组的长度是数组类型的一部分，所以[10]int和[20]int是不同的类型
	var teacher = [3]string{"张三", "李四", "王五"}
	//数组的长度可以通过len()函数获取
	teacherLen := len(teacher)
	fmt.Println(teacherLen) //3
	fmt.Println(teacher[0]) //[张三 李四 王五]

	teacherAge := [3]int{18, 20, 22}
	fmt.Println(teacherAge)
	// 修改数据：数组名称[下标] = 新值
	teacherAge[0] = 19
	fmt.Println(teacherAge)
	//遍历数组的方式
	//1. for循环
	for i := 0; i < len(teacher); i++ {
		fmt.Println(teacher[i])
	}
	//2. for range
	for k, v := range teacher {
		fmt.Printf("第%d个老师的姓名是%s\n", k+1, v)
	}

	//自动推导数组的长度
	teacherHobby := [...]string{"篮球", "足球", "乒乓球", "羽毛球"}
	fmt.Println(len(teacherHobby))
	//二维数组
	//数组中的元素是数组
	// var arr [3][2]int
	// arr = [3][2]int{{1, 2}, {3, 4}, {5, 6}}
}
